#ifndef MENUOPTIONS_H
#define MENUOPTIONS_H

class MenuOptions;

#include <stdlib.h>

#include "MenuState.h"
#include "GameResources.h"

class MenuOptions : public MenuState
{
    public:
        MenuOptions();
       ~MenuOptions() {}
        
	    void enter(void);
	    void exit(void);

        void setBGTransparent() { transparentBackground = true; }
        void resetBackground()  { transparentBackground = false; }

        void setRadioButtons(void);
        void setSliders(void);
        void subscribeSlider(Ogre::String sliderName, bool(MenuOptions::* f1)(const CEGUI::EventArgs &));
        void subscribeRadioButton(Ogre::String buttonName, bool(MenuOptions::* f1)(const CEGUI::EventArgs &));
        bool clickBackButton(const CEGUI::EventArgs &e);
	    bool hoverBackButton(const CEGUI::EventArgs &e);
	    bool offBackButton(const CEGUI::EventArgs &e);
	    bool clickPerspective(const CEGUI::EventArgs &e);
	    bool clickResolution(const CEGUI::EventArgs &e);
	    bool clickInputDevice(const CEGUI::EventArgs &e);
	    bool clickSkybox(const CEGUI::EventArgs &e);
		bool clickFSAA(const CEGUI::EventArgs &e);
		bool clickFSM(const CEGUI::EventArgs &e);
	    bool changeBGM(const CEGUI::EventArgs &e);
	    bool changeSFX(const CEGUI::EventArgs &e);
	    bool hoverNoise(const CEGUI::EventArgs &e);
	    
	    bool transparentBackground;
};

#endif
